"""
题目：判断101-200之间有多少个素数，并输出所有素数。

程序分析：判断素数的方法：用一个数分别去除2到sqrt(这个数)，如果能被整除，则表明此数不是素数，反之是素数。
"""

from math import sqrt


def calculate_prime(start: int, end: int) -> list[int]:
    """
    判断两个整数之间有多少个素数
    :param start: 开始整数
    :param end: 结束整数
    :return: 两数之间素数
    """
    result = []
    for n in range(start, end + 1):
        if n == 1:
            continue
        leap = 1
        for i in range(2, int(sqrt(n)) + 1):
            if n % i == 0:
                leap = 0
                break
        if leap == 1:
            result.append(n)
    return result


start = int(input("请输入开始数:"))
end = int(input("请输入结束数:"))
result_list = calculate_prime(start, end)
print(f"{start}~{end}之间，有{len(result_list)}个素数,素数为：{result_list}")
